// Definition of view for lists of models
// Copyright 2005 (C) Ralph Thomas

#ifndef MISSION_VIEW_LIST_H
#define MISSION_VIEW_LIST_H

#include <factory.hpp>

namespace view {
	//
	/// The list view widget can draw the children of a model in a list or
	/// table widget (with column headings, etc). The properties of the
	/// model to represent are given as an items: list in the parameters.
	///
	/// \param	parameters	a dictionary of parameters for the new
	///				list view widget.
	/// \param	parent		the parent of the list-view widget.
	/// \param	token		the factory token containing everything
	///				else for creating the widget.
	/// \param	factory		the factory to use to create child
	///				widgets. This is required because the
	///				list view is technically an alias for
	///				scrollview, but with some magic to
	///				generate list items.
	///
	/// \return	a widget_node_t containing the new list-view widget.
	//
	adobe::widget_node_t list_factory(
		const adobe::dictionary_t&	parameters,
		const adobe::widget_node_t&	parent,
		const adobe::factory_token_t&	token,
	        adobe::widget_factory_proc_t	factory	);
};

#endif

